package com.coderman.infosys.user.app.converter;

import com.coderman.infosys.user.api.dto.request.CreaetUserAccountRequestDTO;
import com.coderman.infosys.user.api.dto.request.UserAccountQueryDTO;
import com.coderman.infosys.user.api.dto.response.UserAccountInfoDTO;
import com.coderman.infosys.user.domain.bo.UserAccountBO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
* @Description:UserAccountConvert接口
* @Author:
* @CreateTime:2021-09-29 17:15:04
* @version v1.0
*/
@Mapper
public interface UserAccountConvert{
	UserAccountConvert INSTANCE = Mappers.getMapper(UserAccountConvert.class);

	/**
	 *
	 * @Description:
	 * @return List<UserAccountBO>
	 */
	 List<UserAccountBO> creaetUserAccountRequestDTOs2boList(List<CreaetUserAccountRequestDTO> creaetUserAccountRequestDTOList);
	/**
	 *
	 * @Description:
	 * @return UserAccountBO
	 */
	 UserAccountBO dto2bo(UserAccountQueryDTO userAccountQueryDTO);
	/**
	 *
	 * @Description:
	 * @return UserAccountBO
	 */
	 UserAccountBO dto2bo(CreaetUserAccountRequestDTO creaetUserAccountRequestDTO);
	/**
	 *
	 * @Description:
	 * @return UserAccountBO
	 */
	 UserAccountBO dto2bo(UserAccountInfoDTO userAccountInfoDTO);
	/**
	 *
	 * @Description:
	 * @return List<UserAccountBO>
	 */
	 List<UserAccountBO> userAccountInfoDTOs2boList(List<UserAccountInfoDTO> userAccountInfoDTOList);

	/**
	 *
	 * @Description:
	 * @return List<UserAccountBO>
	 */
	 List<UserAccountBO> userAccountQueryDTOs2boList(List<UserAccountQueryDTO> userAccountQueryDTOList);
	/**
	 *
	 * @Description:
	 * @return UserAccountInfoDTO
	 */
	 UserAccountInfoDTO bo2dto(UserAccountBO userAccountBO);


	/**
	 *
	 * @Description:
	 * @return List<UserAccountInfoDTO>
	 */
	 List<UserAccountInfoDTO> userAccountBOs2dtoList(List<UserAccountBO> userAccountBOList);
}